package com.cskaoyan.javase.array._2memory;

/**
 * 堆上对象中的元素具有默认值,这里以数组对象中的元素为例:
 * byte,short,int,long: 默认值是0
 * double,float: 默认值是 0.0
 * char: 默认值是 "\u0000" 绝对空字符
 * boolean: 默认值是 false
 * 引用数据类型元素: 默认值是null(null是引用的一个取值)
 * null是一个空常量,是一个字面值常量,是专属于引用数据类型的取值
 * 引用等于null说明该引用没有指向任何对象,可以认为引用指向了虚无,这时引用是不可用的
 *
 * 思考:
 *      堆上对象中的元素(数组中的元素):
 *          1.如果是一个基本数据类型元素,那么就直接就存储元素取值(基本数据类元素就是一个取值)
 *          2.如果是一个引用数据类型元素,那么就存储该引用数据类型元素的引用(地址)
 *              然后这个引用再指向堆上的其它对象
 *
 * @since 11:02
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo3 {
    public static void main(String[] args) {
        double[] arr = new double[3];
        System.out.println(arr[0]);
        char[] arr2 = new char[3];
        System.out.println(arr2[0]);
        boolean[] arr3 = new boolean[3];
        System.out.println(arr3[0]);

        String[] arr4 = new String[3];
        System.out.println(arr4[0]);
        System.out.println(arr4[1]);
    }
}
